perm filename TESTJ[E,ALS]3 blob
sn#237038 filedate 1976-09-24 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE
C00016 00003 A table for testing TJ commands
C00023 00004 A new ETV is up with major changes to the justification commands, and
C00055 00005 XJFILL XJUST XJGET XSJFILL XSJUST Justification commands:
C00076 00006 XALIGN XJLEFT XINDENT → ← XCENTER MARGIN CONTROL commands:
C00084 00007 1 2 3 4 5 6 7 8
C00087 ENDMK
C⊗;
TITLE
This is a test paragraph that begins with a TAB and that follows a blank
line. It is to be used to test out various forms of justification.
This is a test paragraph that begins with 8 spaces and that follows a
blank line. It is to be used to test out various forms of justification.
This is a test paragraph that begins with a TAB and then 4 spaces
and that follows a blank line. It is to be used to test out various forms of
justification.
This is a test paragraph that begins with 4 spaces and then a TAB and
that follows a blank line. It is to be used to test out various forms of
justification.
****The text that follows does not have any blank lines.
This is a test paragraph that begins with a TAB. It is to be used to
test out various forms of justification.
This is a test paragraph that begins with 8 spaces. It is to be used to
test out various forms of justification.
This is a test paragraph that begins with a TAB and then 4 spaces.
It is to be used to test out various forms of justification.
This is a test paragraph that begins with 4 spaces and then a TAB.
It is to be used to test out various forms of justification.
123456789 123456789 123456789
ABC.
DEF.
GHI.
JKL.
MNO.
PQR.
STU.
VWX.
YZ.
123.
456.
789.
ABC.
DEF.
GHI.
JKL.
MNO.
PQR.
STU.
VWX YZ.
The Jget command should accept some typed-in margins and it should,
when so ordered, complete the set of margins by inspecting a specified
range A. L. SAMUEL he text that is being editer. Margin values consist
of The paragraph indentation (refered to as PMAR). The normal left
indentation (LMAR), the last right-most column to be occupied by the text
(RMAR), and the number of blank lines that are to precede the individual
paragraphs (BNUM). It is anticipated that one might very well have a
variety of different paragraphs on the page, all with different
indentations and with some separated by blank lines and some not so
separated. One should still be able to use JGET without to much trouble
This page has been typed to illustrate the problem and to provide some
text to test out various ideas. 1234 5678 9
At the present time I am of the opinion that the following conventions
will handle the situation.
1) The commands JGET and TJGET may be typed with or without a leading
argument and with or without trailing arguments and with or without there
being anything in the ATTACH buffer. 2) The leading argument specifies
the number of lines of text to be used. If this number is missing or if
it exceeds the number of lines on the page (or in the ATTACH buffer) then
the inspection extends to the end of the page (or the end of the ATTACH
buffer). The inspection begins at the arrow location (or at the start of
the ATTACH buffer). This will be called the first line.
3) A zero leading argument specifies that no text inspection is to be
made. In this case the default margin specifications are to be used
unless they are specified in the trailing string of arguments.
4) The trailing arguments consist of a series of decimal numbers
separated by commas. Missing arguments are indicated by commas that are
not preceded by numerical values.
5) If an initial argument is used, then all margins are to be reset to
the values specified by the trailing arguments or, if not so specified,
they are to be infered by an inspection of the text.
--- 00 01 02 03 04 05 06 07
000 NUL ↓ α β ∧ ¬ ε π X 010 λ TAB LF VT FF CR ∞ ∂ 002 ⊂ ⊃ ∩ ∪ ∀ ∃ ⊗ ↔
003 _ → ~ ≠ ≤ ≥ ≡ ∨
αXJUST +3,4,66<cr> Justify the current page or the ATTACH buffer using
temporary margins as specified (in this example to 7, 4 and to 66
respectively).
αβXJUST ,4,66<cr> Justify the current page or the ATTACH buffer using
new sticky margins as specified. These new values now become the default
values. The paragraph indentation will be left at the previously
specified value.
CONDITIONS ACTION P(old) L(old) B(old) New par. @ PMAR after BNUM
Other lines at LMAR
N N 0 for all old lines Overflow only at LMAR N N >0 after blank lines
only Other lines at LMAR >1 0 0 if INDENT>1 or after blank " " " " N ≠N,>0
>0 if INDENT=N or after blank " " " " ZZZZZZZZ
A table for testing TJ commands
00 01 02 03 04 05 06 07
000 NUL ↓ α β ∧ ¬ ε π
010 λ TAB LF VT FF CR ∞ ∂
020 ⊂ ⊃ ∩ ∪ ∀ ∃ ⊗ ↔
030 _ → ~ ≠ ≤ ≥ ≡ ∨
040 SP ! " # $ % & '
050 ( ) * + , - . /
060 0 1 2 3 4 5 6 7
070 8 9 : ; < = > ?
Still another version
00 01 02 03 04 05 06 07
000 NUL ↓ α β ∧ ¬ ε π
010 λ TAB LF VT FF CR ∞ ∂
020 ⊂ ⊃ ∩ ∪ ∀ ∃ ⊗ ↔
030 _ → ~ ≠ ≤ ≥ ≡ ∨
040 SP ! " # $ % & '
050 ( ) * + , - . /
060 0 1 2 3 4 5 6 7
070 8 9 : ; < = > ?
A very simple table
11 22 33 44
55 66 77 88
123456789 123456789 123456789 123456789 123456789 123456789 123456789
αβXTJG This command is used if one wants to find
the margin and columns spacings from a table
that already exists either in a desired
format or a formatted table that is to be
reformatted in some way.
For single-page searches the commands are:
123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
αβFSmith<cr> Find just plain Smith or smith but not this
string in $smith, in blacksmith or in
Smithsonian. Note that % and _ are accepted
as alphamerics.
αFSmith<cr>
αFSmith<cr>
Find smith as an isolated word or as part of
a longer string (in blacksmith for example).
The string will be found even where not
delimited by non-alphamerics.
Round-Robin Scores
vs 1 2 3 4 5 6
1 x
2 x
3 x 15-2
15-7
4 x
5 x
6 x
Samuel, Art (Dr. Arthur L.) 202 PAE[S,ALS] 2 1000
501 Portola Road, Portola Valley, 94025 (9) 851-1501 βDec 5
Scheinman, Vic (Mr. Victor D.) 205 SRA[H,VDS] 2 200
3689 South Court, Palo Alto, 94306,(9) 493-3038 βDec 28
Scherlis, Bill (Mr. William L.) 251 SRA[PV,WLS] 2
2976 Cowper St., Palo Alto, (9) 494-1932 βAug 28
Schreiber, Joachim (Mr. Joachim F.) 255C S[PV,JFS] 2
P.O. Box 9216, Stanford, 94305 (9) 328-3178
Shimano, Bruce (Mr. Bruce E.) 230C SRA[H,BES] 2 450
1950 Cooley Avenue, #4109, Palo Alto, 94303, (9) 328-0319 βApril 11
Smith, Leland (Prof. Leland C.) 267 P[M*/VB,LCS] 2 900
3732 Laguna Avenue, Palo Alto, (9) 493-9386 βAug 6
Steinberg, Lou (Mr. Louis I.) SRA[PSI,LIS] 2 250
1634 Milvia, No. 6, Berkeley 94709, (57) 845-4833 βJuly 16
Sutton, Rich (Mr. Richard S.) S[H,RSS] 1
25Y Manzanita Park, Stanford, 60521, (9) 321-4051 βSept 21
Samuel, Art (Dr. Arthur L.) 202 PAE[S,ALS] 2 1000
Scheinman, Vic (Mr. Victor D.) 205 SRA[H,VDS] 2 200
Scherlis, Bill (Mr. William L.) 251 SRA[PV,WLS] 2
Schreiber, Joachim (Mr. Joachim F.) 255C S[PV,JFS] 2
Shimano, Bruce (Mr. Bruce E.) 230C SRA[H,BES] 2 450
Smith, Leland (Prof. Leland C.) 267 P[M*/VB,LCS] 2 900
Steinberg, Lou (Mr. Louis I.) SRA[PSI,LIS] 2 250
Sutton, Rich (Mr. Richard S.) S[H,RSS] 1
A new ETV is up with major changes to the justification commands, and
with seven new instructions added. All users of these commands are urged
to read E.ALS[UP,DOC] (type <META><CONTROL>? while using ETV). Users
not already addicted to the justify commands in ETV might now find these
commands very usefull.
A new ETV is up with MAJOR changes to the JUSTification commands, and with 7 new
instructions. See E.ALS[UP,DOC]/2p (Use <CONTROL>? while in ETV). Bugs to ALS.
Changes to the existing line manipulation commands
Effective September 3, 1976
(See page 30 for a more complete list)
1) There is now no effective limit to the length of lines that may be
handled by these commands. (The actual limit is 131070 characters).
2) Punctuation marks . ! and ? followed by a space, even with any number
of closure symbols (such as ", ), ], etc) interposed, are treated as
sentence endings and are followed by 2 spaces when text is justified.
3) The fast indent commands ← and → now use the absolute indent value
associated with the last use of the ⊗XINDENT command. The initial
default value is 4.
4) Negative prefix arguments are now permitted, for example,
αβ-αβ5αβXJU<CR> now justifies the last 5 lines before, but not including,
the arrow line.
5) Left margins are now specified in terms of indent values not as column
positions, that is, one types a "0" (not a "1" as formerly) if the
line is to start with no indent. This usage is now consistant for all
commands. (The right margin is still in terms of column position and
so specifies the number of chararacters on a line when the left indent
is zero.)
6) The number of blank lines (B) to be used between paragraphs may now be
specified by typing a fourth suffixing number (it may be 0). The
default situation calls for there to be the same number of blank lines
between individual paragraphs after justification as there were in the
original text. This default situation may be reset by typing -1 as
the fourth number.
7) All margin specifications are now sticky, that is, if no margins are
specified then the values previously specified are used by default.
The original default values are: 4,0,74,-1. This means that, the
crown lines (first lines of new paragraphs) will be indented by 4, the
main body of the text will have 0 indent, the right hand margin will
be at column 74 and the same number of blank lines will be used
between paragraphs as in the original text.
8) A zero prefix argument (with commands using margins) causes the
existing switch setting (see below) and margins to be reported.
Switch settings and margin values may be changed, if desired, with a
zero-prefixed command. The new values will be stored before making
the report, but no overt action will be taken, such, for example, as
to replace the input conditions from the output for a R switch
setting, or to get new input conditions from the text for a G switch
setting.
11) New paragraphs, in the text that is being justified, can now be detected
in a variety of different ways. However because of long usage, a line of
text that is preceded by a blank line is still always assumed to start a
new paragraph.
The default or Normal condition (Set by the N switch, see below) is for
a new paragraph to be signalled either by the presence of a preceding
blank line or by an indent that is greater than 1. Users who have used
initial TABS as paragraph indicators may continue their usual practice.
However, it is now possible to handle text that is not in the, so called,
normal form.
12) SWITCHES
XJUST and XJFILL now accept certain switches which affect the
way these commands react to left margin indents in the text that is
being justified. These switches are sticky, that is, once a switch is
set, the conditions specified by the switch continue to hold for
subsequent uses of the XJUST and XJFILL commands when no new switch
is specified.
Switches are typed as a single letter following the command name. A
switch is separated from the command either by a slash "/" or by a
space and is separated from any margin values that may follow by
another space).
The initial default conditions correspond to those specified by the "N"
switch as described below, that is, a preceding blank line or any indent
of more than 1 space (a TAB counts as 8 spaces) signals the start of a
new paragraph.
Switch Mneumonic Conditions in old text identifying a new paragraph
(Besides preceding blank line)
N Normal Any indent >1
G Get Exact indent as gotten by examining specified text.
R Rejustify Exact indent (C value) previously specified.
U Unchanged Exact indent Unchanged as previously Used.
For completeness, the range of usage for these different switches and
their individual characteristics will be described below.
N This is the default switch and the switch that will most often be used,
certainly by the casual uses.
The body of the text is assumed to be without any indent and all lines
that are either preceded by a blank line or that are indented by more than
one space (or a Tab) are assumed to start a new paragraph.
G The G switch causes ETV to determine the initial situation by examining
the text itself.
This switch may be used if one wants to justify some text that is
neither in the, so called, Normal format (when the N switch is used)
nor in the format that has most recently been established by an earlier
XJUST or XJFILL command (when the R switch is safer and faster).
Care must be taken in using the G switch as the conditions to be used
for making new-paragraph decisions are determined and then put to use
without the user being able to verify the conditions before they are
applied. A slower but safe procedure is to use the XGET command to
get ETV to the determine and display te margin conditions that it finds.
One can verify these conditions by inspection, and then use the R switch
with the justifying command to effect the desired justification.
With the G switch, ETV examines the designated text, firstly to see if
there are any blank lines. If there are ETV assumes that the first line
after this blank line is the start of a new paragraph. If there are no
blank lines in the designated text, ETV then gets the indentations for the
first two lines and if these are not the same it assumes that the first
one starts a paragraph (note that this means tha the text to be justified
can not start with the last line of a paragraph). If the first two lines
examined have the same indent these are assumed to be normal text and the
first line that has a different indent is assumed to start a paragraph.
R The R switch causes the former output conditions to be used as the new
input test conditions.
This is the switch to use if one makes some editing changes to text that
one has just put into some non-standard form. It may also be used
on text that is in any arbitrary form by first letting ETV determine
the existing margin conditions using the new XJGET command.
U The U switch causes the existing exact input conditions to be used.
This is the switch to use if one has previously established conditions
for justifying some non-normal text and now wants to justify another
portion of text that conforms to the earlier established input
conditions.
13) XJGET
A new command XJGET has been added that determines the margin values
of a designated portion of text in a manner similar to that discribed
for the G switch above but it causes these data to be store as the
margin values that will be used for subsequent XJUST or XJFILL commands.
The right margin value is determined from the longest line in the sample.
The blank line control is reset to the initial default condition.
This command allows one to use a portion of the text that is already in the
desired format as a sample of what is wanted, while the G switch gives
ETV the task of determing the existing margins in the text that is to be
justified.
14) ⊗XSJFILL and ⊗XSJUSTs are two new commands that separates a designated
portion of text into individual sentences with all sentences beginning at
at the specified normal left margin and then JFILLed or JUSTified. All
blank lines that were in the original text are retained. The sentences
can then be easily rearranged for subsequent reformatting by the XJUST and
XJFILL commands). Note that crown line indents are lost.
New commands for use with tabular material
Four new commands have been added that permit one to handle tabular material
in a manner analogous to way in which normal text can be treated.
Two types of commands are provided to take care of the two classes of input data
that are most apt to be encountered, these being:
A) Tabular material that is in proper columnar alignment but that may have
missing entries.
The XTABLE command is intended for use with such material.
B) Tabular material that may not be in proper columnar alignment, but where the
entries are separated by at least 2 spaces or by TABs. There may also be
normal text associated with eash tabular line which is to be justified.
Of course, in this case there can be no missing entries.
The XTJFILL and XTJUST commands are intended for use under these conditions.
These new Tabular commands require the specification of additional values in
addition to the P,L,R.B values specified with the XJUST and XJFILL commands.
Of course, just as for these older commands, default values may be used and
only those values that are to be changed need to be specified. Switches and
margins are specified as usual (with some restrictions which will be described
later).
When new values are to be typed, these must start with a semicolon ";" and
they are to be separated by commas. Values not otherwise marked are taken to
be field lengths, that is the string ;5,8,9<CR> is taken to mean that there
are to be three columns the first one starting with an indent as specified by
the P value and with a field length of 5 character positions, this is to be
followed by a second field of 8 character positions, then one with a field
length of 9. These values supercede the field lengths that had previously
been specified for the first three fields and if still additional fields had
been specified these are to be retained and shifted to the right or left
as may be required because of the changed to the first three fields.
When several fields are to have the same length these fields may be specified
by the use of the @ sign, thus 9@5,7 means that there are to be 9 fields of
length 5 followed by a field of length 7. Fields to the left of a field that
is to be changed may bek indicated that are to be left the
skipped by the use of commas without numbers, thus ,,7 means
leave the first two columns unchanged and make the next one with a length of 7.
Similarly 4@0,3@5 means leave the first 4 columns unchanged and make the
next 3 columns with lengths of 5. Note that zero, in this case, does not mean
a column of zero length but means no change.
Fields must have widths of 3 or more to permit a single character and to
allow for there to be two spaces between the characters in different columns.
Should any particular entry be too long for the width specified, the next
entry is automatically moved to the right so as to preserve the desired
separation between columns. Such excesses may propagate.
A fourth command XTJGET has been provided to perform the same function for
tabular material that is performed for ordinary text by the XGET command.
It should be noted that this command must deternine the positions of each
column as well as the left margins and so it must be given when the designeted
text is restricted to start with a tabular line in which there are no missing
entries.
The specificationns for these new tabular commands will be listed below.
⊗XTABLE
This command must be given either A) with the G switch (see below) operative,
B) after a prior execution of the ⊗XTJGET command and then with the R switch
operative, or C) after a properly executed command or set of commands as
specified by A or B, as just described, and then with the U switch operative.
In effect, one must provide ETV with information as to the existing state of
the input textual material since there does not exist any "Normal" set of
conditions that can be assumed. While, in principle, it is possible to
provide this information by typing it in, it is thought that this task
can best be handled by ETV.
Information regarding the desired new format must also be provided and this
will usually be done by typing the needed information as a suffixed string as
described below. This information is sticky and it need not be retype.
If there exists a sample of tabular material that
is already in the desired format even this second task may be left to ETV by
again using the ⊗XTJGET command as explained below.
Note that the old format must be the first one established.
This command will accept a prefix argument defining the number of lines
to be processed and a series of suffexed arguments similar in every respect to
the syntax used with XFILL and XJUST. One enters information as to the desired
tabular fields by then typing a semicolon ";" followed by a series
of decimal numbers which define the field lengths to be used. If several fields
are to be all the same length the syntax, 5@7 for example, may be used meaning
in this case that there are to be 5 fields of 7 characters positions each.
Alternately it is possible to define a field in terms of the last colmnar
position that it is to occupy by prefacing the number with an exclamation mark
"!". Note that it is not possible to specify the starting column as this is
set by the cumulative lengths of the preceding fields.
For example, the command αβ7αβXTAble 4;10,6@5,!60<CR> would specify that there
be 8 fields with the first one occupying 10 columns starting at an indent of 4
then there are to be 6 fields each occuping 7 columns and a final field ending
at column 60. The starting indent for this last field is obtainable by adding
up the columns already accounted for (44) and so the last field is to
be 16 columns wide. Note that it is only necessary to type a single number
before the semicolon as this commands starts all lines with the crown or new paragraph
indent. The normal left margin indent is not used and the program automatically
determines the right margin value from the accumulated column count.
This command requires information as to the existing format of the
data to be reformatted and information as to the desired new format. The old
format can most easily be obtained by usee of the XTJGET command. The new format
imformation can then be typed in with the XTABLE command or it my also be
obtained from an existing table (or portion of a table) that is already in
the desired format by using XTJGET a second time. Note especially that the old
format must be obtained before the new format is obtained even though it might
be convenient in some instances to reverse the order.
A) The data may be separated into fields separated by 2 or more spaces (or a TAB)
between fields, but the fields may not be in alignment. The table must of necessity
not contain any missing fields.
B) The data is in proper alignment, in which case there may be missing entries.
2) XTJUST This command re-aligns tabular data and justifies associated text,
subject to the condition that there be no empty entries in the original table.
The different entries need not be aligned initially but at least 2 spaces, or
a TAB, must separate entries.
The desired columnar conditions may be defined by reference to data that
is properly spaced by using the XTGET command or the column sizes may be
typed as numbers following a semicolon ";" which after any normal margin
specifying numbers that may have followed the command.
Major chances have been made to the JUST and JFILL commands.
(See p.16:18 for full details.)
1) Lines of any length can now be handled by these commands.
2) Left margins are now specified in terms of indent values, that is, one
types 0 (not 1 as formerly) if the line is have no indent. The right
margin is still specified by the column position.
3) The number of blank lines (B) to be used between paragraphs may now be
specified by typing a fourth suffixing number (it may be 0). The
initial default situation is for the same number of blank lines to be
used after justification as there were in the original text. This
condition may be reset by typing -1 as the fourth number.
4) All margin values are now sticky. The initial default values are now
4,0,74,-1.
5) Switches are now used to change the way that ETV detects paragraphs.
The initially set switch, N, (for Normal) calls for any indent ≥2 (or
a TAB) to signal a new paragraph. An Arbitrarily input crown indent A
may, however, be assigned and used by means of the switches as noted
below. Switches are sticky and are typed as a single letter following
the command name, separated from it and from any following parameters
by spaces. For fuller details see p.16.
Switch Mneumonic Conditions in old text identifying a new paragraph
(Besides preceding blank line)
N Normal Normal crown indent ≥2
G Get Get Assigned crown indent A by examining text.
R Rejustify Rejustify (old C as new A input crown indent)
A Assigned Assigned crown indent (as previously determined).
6) Seven new commands have been added to facilitate the justification
operations, both for normal text and for tabular material. All of the
this explanation was justified by means of these new commands. See
p.16 to 18 for details. These new commands are noted below.
⊗XJGET This command examines test to determine the C,L,R values that were
used in it justification so that other unjustified text can be put
into the same form.
⊗XSJFILL This command separates the text into separate sentences so that
the sentences can be reordered as desired.
⊗XSJUST Similar to *SJFILL but the sentences are padded so as to obtain
right-margin justified as well.
⊗XTABLE This command allows one to chance the columnar positions of
tabular text that is already in proper columnar arrangement with due
allowance being made for empty entries.
⊗TJFILL This command handles tabular material that is not in columns and
puts it into any desired columnar arrangement. There may be
associated textual material which will be left justified.
⊗TJUST Similar to ⊗TJFILL but the associated testual material is right
justified as well.
⊗XTJGET This command does for tabular material what ⊗XJGET does for
ordinary text.
⊗XJFILL ⊗XJUST ⊗XJGET ⊗XSJFILL ⊗XSJUST Justification commands:
(See p. 17 for ⊗XALIGN, ⊗XINDENT, ⊗XJCENTER)
(See p. 18 for ⊗XTJUST ⊗XTJFILL ⊗XTABLE and ⊗XTJGET)
⊗XJFILL and ⊗XJUST are basic justiification commands. There is now no
effective limit to the length of lines that may be handled by these
commands. It is always wise to do a αβ. before using these commands so that
one can undo their effect by using the XCANCEL command if necessary.
The margin justifying commands allow one to adjust the length of
textual lines by moving words from line to line as required to achieve any
desired line length. At the same time they permit the left margin to be
fixed at any desired position (both for crown lines, i.e. first lines of paragraphs,
and for normal text lines). The XJUST command also pads the line by
distributing additional spaces between words so as to allign the right
margin as well.
The range of application of these commands may be limited by a
prefixed decimal argument. If no argument is specified the entire page
is justified. If there is an attachment the ATTACH buffer is justified
rather than the page. When the range is limited by a positive argument
the justification starts with the arrow line while for a negative argument
the justification will be for the specified number of lines before (but
not including) the arrow line.
XJFILL or XJUST, preceded by a 0 argument, causes ETV to report on
the current status of the switch setting (se below) and of the resulting
margins without any overt action other than to record any typed changes
to these values (these changes are recorded before the report is made).
The basic commands will accept a following string (separated from
the command itself by a space) which may contain a (single letter)
switch, a space, and a following string of decimal numbers separated by commas.
The values specified in this following string are sticky and need not
be retyped on a subsequent use of the basic commands if the same parameters
are desired. If only some of the arguments are to be changed, then only
these arguments need be typed with any missing numerical arguments indicated
by commas only.
The switch letter is used to specify the conditions that are to be
taken in the original text to indicate paragraphs, and it may be one of the
following, N, G, R, or U. N is the Normal switch and it is the initial
default switch.
Blank lines are always assumed to mean a paragraph devision (for all
switch settings).
With the N switch operative, any line that is indented by 2 or more spaces
is also assumes to be a crown line, that is, to be the start of a new
paragraph. Text without blank lines between paragraphs and with different
indents used for different crown lines may now be handled without difficulty.
Note that this is a change (effective 8/30/75) from the previously
used convention which required a TAB indent, but this change should not
seriously bother anyone who has become used to the earlier convention.
An initial period in a line is no longer recognized as a crown
line indicator.
By specifying a switch letter other than N, one can now justify text that
is not in "normal" form, for example, with crown lines that are indented
less than the normal indent of the body of the paragraphs and without
separating blank lines.
Switches
N The N switch causes ETV to recognize any indent greater than 1 and/or
the presence of a blank line as being a crown line indicator. This is the switch
to use under normal conditions when the body of the text (non-crown lines)
is not indented. It corresponds fairly closely to the older form of the
justify commands and hence it has been made the initial default switch.
G The G switch causes ETV to scan the specified section of the text that is
to be justified and to determine from this text the indent that has been
used to identify the crown lines in the original text. The presence of this
indent is then used during the justification as a crown line signal (a blank
line is still recognized even without the identified crown indent). This
is the switch to use when you wish to justify some text that had, at some time
in the past) been justified into some non-normal form and you.
Care must be used with this switch to be sure that ETV will be able
to identify the crown indent correctly. The procedure used is as follows:
The text to be justified is first scanned to locate of a blank line. If
one is found then the next non-blank line is assumed to be a crown line and
its indent is stored as the desired identifying indent. If no blank lines
are found within the specified text then the indents of the first two lines
are determined. If these two values are not the same the first line is
assumed to be a crown line. If the first two line indents are the same these
lines are taken to be non-crown lines and the rest of the text is scanned
for a line with a different indent and if one is found this is taken as
the desired crown indent indicator. The practical effect of all of this is
that one should not start the justification with a line that is the last line
of a paragraph, but then doing this is quite meaningless in any case.
R (Rejustify) The R switch causes ETV to take the last specified crown
indent as the crown line indicator for the new justification. Note that
this is switch is faster and safer than the G switch as the text is not scanned.
This is the switch to use to rejustify text that you have already justified
into some non-normal form when
either you have made some additional corrections to the text or you have decided
that you want the format changed in some way. Note that it is possible to
make changes to the text between the two justifications without having to indent
any added non-crown lines to the precise amount that was used in the original text.
Added lines that are to start new paragraphs must, of course, be indented by
the correct amount or must be preceded by blank lines. If the format is not to
be changed then the the previously specified indents need not be retyped.
A (Assigned) The A switch causes ETV to use the Assigned conditions
for the new justification. These conditions must have been were
previously established by the use of a justifying command with a G switch
in effect or as a result of a sequence consisting of an initial ⊗XJGET
command and then a ⊗XJUST ar a ⊗XJFILL command with the R switch in
effect. This is the switch to use if you have just justified
a portion of some text and find that you now wants to justify an
additional portion of the original text that is still in the old format or if
you are making repeated changes to some text that is in non-normal form and
have already established the necessary conditions as just noted.
The desired margin conditions and the desired number of blank lines that
are to be used between paragraphs are specified by the string of decimal
numbers that may be typed following the switch letter or following the command.
Four numbers may be typed, refering respectively to the indent of crown
lines, the indent for all non-crown lines, the rightmost column position
to which the text may extend, and finally, the number of blank lines to be
used between paragraphs.
Note that left margins are now specified in terms of indents not in terms of
column positions as formerly. A zero indent is specified by typing 0.
Margin specifications are now always sticky. The former distinction that
was specified by the control keys is no longer available and relative values
are no longer allowed. These former provisions were always causing
trouble for new users and they were seldom used in any case.
The initial default values for the margins have been set at 4,0,74.
The initial default condition as to the number of blank between
paragraphs is for there to be the same number of blank lines in the
justified text as there were in the original text.
To change the paragraph indentation alone, it is only necessary to
type a single decimal number specifying the desired indent. To
change the left margin specification alone, it is only necessary to
type a comma followed by the desired decimal value. To change the
right margin alone, it is necessary to precede the decimal number by
two commas.
It is now possible to specify the number of blank lines to be used (as 0, 1
2, etc.) with this number being typed in the fourth position in the string.
When a number is so specified, the number
of blank lines in the original text is disregarded and the specified number
of blank lines are used between all paragraphs. This parameter is also sticky
and need not be retyped as long as one wants it to remain the same.
The initial default value
for this parameter (stored as -1) is to require that the number of blank lines
at each paragraph break is to remain the same in the justified text as it was in
the original text. If a positive value has been stored one may restore this
initial default condition by typing -1 for the fourth numerical parameter.
Typical command strings.
⊗XJUST<cr> Justify the current page (or the ATTACH buffer if in
ATTACH mode) using the default values for all parameters
that might be specified by a string following thee command
name. These default values are initially set at
N 4,0,72,-1, the N signifying the Normal switch is to be used
which accepts any indent greater than 1 as well as a blank
line to signal a new paragraph. The string of decimal
numbers (reported as P,L,R,B) indicate that the paragraph
or crown indent is to be 4, the
left or non-crown indent is to be 0, the rightmost character
is not to go beyond column 74 and the distribution of
blank lines is to be the same in the resulting text as
found in the original text.
αβXJU 0,4,66,0<cr> Justify (both margins) the current page or the ATTACH buffer
using the indents and right margin as specified and leaving
no space blank lines between paragraphs. The crown
lines will all start with no indent and the left indent
for the rest of the text will be 4. The last occupied
column will be 66.
αβXJFI R 10,10,,1<cr> JFILL (left margin only) the current page
which has been justified, perhaps by the preceding command,
The R switch tells ETV to take the former output parameters
as those that are to be used to identify crown lines. Note
that this command calls for the indents of all lines to
be the same and that paragraphs are now to be separated
by single blank lines. Had we failed to specify the number
of blank lines the default condition would have been restored.
In case there were no blank lines (as would be true after using
the previous command) the identification
of the crown lines would have been lost.
Three new commands have been added for use with normal text.
⊗XJGET
The ⊗XJGET command causes ETV to scan the specified section of the text
and to determine the indent values that were used for crown lines and non-crown
lines and the column position of the rightmost character. It stores these
as sticky values for these parameters and these values will then be used should
a XJUST or XJFILL command be subsequently given without suffixed arguments.
The action is quite analogous to that taken when the G switch is used with
a XJUST or XJFILL command except that the values found are stored as the
conditions to be produced on a subsequent justification rather than as the
expected conditions to be found in the original text. This command always
resets the B value to its original default value of -1, that is for
there to be the same arrangement of blank lines in the justified text as are
found in the original text.
By using this command one can redetermine the parameters that were
used when the text was justified, presumably at some earlier editing session
or perhaps by someone else and one can do this without having to make the
determination by visual inspection. Note that this command does not take
suffixed arguments.
⊗XSJFILL and ⊗XSJUST
The ⊗XSJFILL and ⊗XSJUST commands separate all sentences in the
specified text so that they all start with the non-crown indent, and then
the individual lines are ⊗XJFILLed or ⊗XJUSTified. As a consequence
paragraphing information as shown by an indent is lost but blank lines are
preserved. Thess commands will accept suffixed arguments which are stored
as sticky parameters prior to the execution of the command and which then
apply to future uses of these commands or of the normal ⊗XJFILL and ⊗XJUST
commands.
The task of rearranging sentences within a paragraph or of moving
sentences from one paragraph to another is simplified by the use of this
command.
⊗XALIGN ⊗XJLEFT ⊗XINDENT ⊗→ ⊗← ⊗XCENTER MARGIN CONTROL commands:
(See p. 16 for ⊗XJUST, ⊗XJFILL, ⊗XJGET, ⊗XSJUST and ⊗SJFILL)
These commands preserve the identity of the text lines while
preforming certain operations on their left margins.
⊗XALIGN moves all lines defined by the location of the arrow line and
a prefixed argument (with 1 line or the entire ATTACH buffer as the default
option) so that all lines start with a specified (or default) indentation.
The command uses initial TABs to the extent possible. The command can
take a single suffixed decimal (sticky) argument to specify the desired
indentation. The initial default value is set at 0.
The command ⊗XALIGN
may be set to operate in one of two different modes with respect to the
treatmant of interior TABs. The initial default mode is for all interior
TABs to be replaced by the equivalent number of spaces that they produced
before the alignment was effected. The other mode is entered by typing the
letter T (for TAB) as a suffexed letter (after the command name and
separated from it by a space). This mode leaves all interior TABs
untouched. The mode as so changed is sticky and applies for all
subsequent ALIGN and INDENT commands. The initial default mode may be
restored by typing the letter S (for spaces).
INDENT simply moves the specified number of lines (default value of 1)
except when in the ATTACH mode when it is the entire ATTACH BUFFER) to
the right or left by the specified amount independent of their original
starting positions. This permits blocks of code to be moved right or
left while preserving their original relative indentations. INDENT will takes
one suffixed numerical argument specifying the desired indentation,
(a positive number if to the right or a negative number if to the
left). Motion to the left is limited by the edge of the page but there is
no practical limit to the motion to the right so take care when changing
the indent value. The initial default indent value is 4.
The command ⊗XINDENT
may be set to operate in one of two different modes with respect to the
treatmant of interior TABs. The initial default mode is for all interior
TABs to be replaced by the equivalent number of spaces that they produced
before the alignment was effected. The other mode is entered by typing the
letter T (for TAB) as a suffexed letter (after the command name and
separated from it by a space). This mode leaves all interior TABs
untouched. The mode as so changed is sticky and applies for all
subsequent ALIGN and INDENT commands. The initial default mode may be
restored by typing the letter S (for spaces).
The commands ⊗→ and ⊗← are special cases of INDENT. They move the
specified lines to the right or left by the (absolute) amount that had been
set previously by the ⊗XINDENT command. The default
number of lines is one if not in ATTACH mode or it is the entire ATTACH
buffer, and the initial default indentation is 4.
require a ⊗X or a carriage return. In common with INSERT they limit the
text motion to the left edge of the page.
These commands do not take suffixed arguments.
Typical commands.
⊗XALIGN<cr> ALIGN the earrow line (or entire ATTACH buffer if in
ATTACH mode) with all lines moved to start with the
default ALIGN indentation (originally set to 0).
⊗4⊗XALIGN 5<cr> ALIGN 4 lines starting with the arrow line (or with
the start of the ATTACH buffer if in ATTACH mode)
so that they are indented by 5.
⊗XINDENT<cr> INDENT the arrow line (or the entire ATTACH buffer
if in the ATTACH mode) by the default value (set to
4 initially), but do not let any line move far enough
to the left to lose any non-space characters.
⊗8⊗XINDENT 3<cr> INDENT 8 lines starting with CURRENT by 3,
that is, move the 8 lines to the right by 8 positions,
with the new default value being set to 3.
⊗6⊗XIND T 3<cr> INDENT 6 lines, starting with the arrow line, by 3
after changing the mode so that interior TABs are kept
as TABs.
⊗6⊗XINDENT -3<cr> INDENT 6 lines starting with CURRENT by -3,
(that is move them to the left by 3 positions).
⊗→ Move the CURRENT line or the ATTACH buffer contents
to the right by the previously established amount.
⊗← Move the CURRENT line or the ATTACH buffer contents
to the left by the previously established amount.
⊗6⊗→ Move 6 lines starting with the CURRENT line or with
the start of the ATTACH buffer to the right by the
previously established amount.
1 2 3 4 5 6 7 8
123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
1 200000,,0 Ignored (double-field mode for DD programs).
2 100000,,0 DMQUOT Quote all characters in the program. That is,
control chars will never be converted to
blinking/bold characters to represent chars 0:37
in the Stanford char set. Also, 177's in the
program will be sent and will not cause the next
character to be quoted. No conversion of
Stanford to Ascii will be done for the three
characters that are different in the two
character sets. No automatic erasing of new
lines will be done. Tabs will never be converted
to spaces on output, nor spaces to tabs.
3 40000,,0 TRUNCA Truncate each output line to 80 characters. When
the 80th column of a line is passed on the DM
display, following bytes will be ignored until a
CR, LF, or FF appears.
4 20000,,0 NOEEOL Suppress the erasing of each line that normally
occurs just before anything (including a CR or
LF) is output on the line.
5 10000,,0 NOEEOB Suppress the erasing of any line on which nothing
is output but CR or LF.
6 4000,,0 BETWEE Ignore spaces between tabs. When a tab is
encountered in the program, all following